Embedding API dependency graph for neural code generation
نویسندگان
چکیده
The problem of code generation from textual program descriptions has long been viewed as a grand challenge in software engineering. In recent years, many deep learning based approaches have proposed, which can generate sequence description. However, the existing ignore global relationships among API methods, are important for understanding usage APIs. this paper, we propose to model dependencies methods an dependency graph (ADG) and incorporate embedding into sequence-to-sequence (Seq2Seq) model. addition encoder-decoder structure, new module named “embedder” is introduced. way, decoder utilize both structural description predict target code. We conduct extensive experiments on three public datasets two programming languages (Python Java). Our proposed approach, called ADG-Seq2Seq, yields significant improvements over state-of-the-art maintains its performance length increases. Extensive ablation tests show that ADG effective outperforms baselines.
منابع مشابه
Dependency Graphs Embedding Confluent Graph Grammars
Abstract: Graph grammars have been developed as an extension of the formal grammars on strings to grammars on graphs, and provide a mechanism in which transformations on graphs can be modeled in a mathematically precise way. In this paper, based on confluent graph grammars, the authors present a novel representation for data-flow graphs, control-flow graphs, combined control-data-graphs, bipart...
متن کاملSource Code to Module Dependency Graph Using Class Dependency Analyzer
-In this demonstration we will show how our tool source code analysis, can be used to recover the highlevel structure of a software system directly from its source code. We accomplish this task by first using a source code analysis system (e.g., CIA, Acacia) to produce a module dependency graph that represents system modules and module-level inter-relationships. Keywords---source code, software...
متن کاملHybed: Hyperbolic Neural Graph Embedding
Neural embeddings have been used with great success in Natural Language Processing (NLP). They provide compact representations that encapsulate word similarity and attain state-of-the-art performance in a range of linguistic tasks. The success of neural embeddings has prompted significant amounts of research into applications in domains other than language. One such domain is graph-structured d...
متن کاملCode Definition Analysis for Call Graph Generation
Enterprise level software is implemented using multi-layer architecture. These layers are often implemented using decoupled solutions with millions of lines of code. Programmers often have to track and debug a function call from user interface layer to the data access layer while troubleshooting an issue. They have to inspect the code based on search results or use design documents to construct...
متن کاملDependency-based Convolutional Neural Networks for Sentence Embedding
In sentence modeling and classification, convolutional neural network approaches have recently achieved state-of-the-art results, but all such efforts process word vectors sequentially and neglect long-distance dependencies. To exploit both deep learning and linguistic structures, we propose a tree-based convolutional neural network model which exploit various long-distance relationships betwee...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Empirical Software Engineering
سال: 2021
ISSN: ['1382-3256', '1573-7616']
DOI: https://doi.org/10.1007/s10664-021-09968-2